package com.ourteam.product.requirement.dao;

import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;

import org.apache.commons.lang.StringUtils;

import java.util.Arrays;
import java.util.List;
import java.util.Map;


/**
 * Template Name : DAO查询对象
 * Template Version : 1
 * Template Last Modfiy Date : Sat Aug 19 10:06:32 CST 2017
 * Auto Generate Date : 2018-05-03 16:45:20
  * Warning ! This file will be overwrite when regenerate !
  *
 */
public class ProductCatalogDAOQueryBean extends BaseQueryBean {
    public ProductCatalogDAOQueryBean() {
        super();
    }

    public ProductCatalogDAOQueryBean(BaseQueryBean aQueryBean) {
        super(aQueryBean);
    }

    public ProductCatalogDAOQueryBean(BaseQueryBean aQueryBean,
        Map tableReplaceMap) {
        super(aQueryBean, tableReplaceMap);
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();

        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }

        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        return new Criteria(this);
    }

    public void addCatalogNameSelectProperty() {
        addCatalogNameSelectProperty("catalogName");
    }

    public void addCatalogNameSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductCatalogDAO.CatalogName, aAlias);
        } else {
            addSelectProperty(IProductCatalogDAO.CatalogName, "catalogName");
        }
    }

    public void addIdSelectProperty() {
        addIdSelectProperty("id");
    }

    public void addIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductCatalogDAO.Id, aAlias);
        } else {
            addSelectProperty(IProductCatalogDAO.Id, "id");
        }
    }

    public void addParentIdSelectProperty() {
        addParentIdSelectProperty("parentId");
    }

    public void addParentIdSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductCatalogDAO.ParentId, aAlias);
        } else {
            addSelectProperty(IProductCatalogDAO.ParentId, "parentId");
        }
    }

    public void addRemarksSelectProperty() {
        addRemarksSelectProperty("remarks");
    }

    public void addRemarksSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductCatalogDAO.Remarks, aAlias);
        } else {
            addSelectProperty(IProductCatalogDAO.Remarks, "remarks");
        }
    }

    public void addStatusSelectProperty() {
        addStatusSelectProperty("status");
    }

    public void addStatusSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductCatalogDAO.Status, aAlias);
        } else {
            addSelectProperty(IProductCatalogDAO.Status, "status");
        }
    }

    public void addSortIndexSelectProperty() {
        addSortIndexSelectProperty("sortIndex");
    }

    public void addSortIndexSelectProperty(String aAlias) {
        if (StringUtils.isNotBlank(aAlias)) {
            addSelectProperty(IProductCatalogDAO.SortIndex, aAlias);
        } else {
            addSelectProperty(IProductCatalogDAO.SortIndex, "sortIndex");
        }
    }

    public void addAllSelectProperties() {
        addCatalogNameSelectProperty();

        addIdSelectProperty();

        addParentIdSelectProperty();

        addRemarksSelectProperty();

        addStatusSelectProperty();

        addSortIndexSelectProperty();
    }

    public static class Criteria extends BaseWhereCriterion<ProductCatalogDAOQueryBean> {
        protected Criteria(ProductCatalogDAOQueryBean aParentObject) {
            super(aParentObject);
        }

        public Criteria andCatalogNameIsNull() {
            addCriterion(IProductCatalogDAO.CatalogName + " is null");

            return this;
        }

        public Criteria andCatalogNameIsNotNull() {
            addCriterion(IProductCatalogDAO.CatalogName + " is not null");

            return this;
        }

        public Criteria andCatalogNameIsNotEmpty() {
            addCriterion(IProductCatalogDAO.CatalogName + " is not null AND " +
                IProductCatalogDAO.CatalogName + " <> ''");

            return this;
        }

        public Criteria andCatalogNameIsEmpty() {
            addCriterion("(" + IProductCatalogDAO.CatalogName + " is null OR " +
                IProductCatalogDAO.CatalogName + " = '')");

            return this;
        }

        public Criteria andCatalogNameEqualTo(String value) {
            addCriterion(IProductCatalogDAO.CatalogName + " = ", value,
                "catalogName");

            return this;
        }

        public Criteria andCatalogNameEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.CatalogName);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCatalogNameEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.CatalogName + " = ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andCatalogNameNotEqualTo(String value) {
            addCriterion(IProductCatalogDAO.CatalogName + " <>", value,
                "catalogName");

            return this;
        }

        public Criteria andCatalogNameNotEqualToOrIsNull(String value) {
            addCriterion(IProductCatalogDAO.CatalogName + " is null OR " +
                IProductCatalogDAO.CatalogName + " <>", value, "catalogName");

            return this;
        }

        public Criteria andCatalogNameNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.CatalogName);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCatalogNameNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.CatalogName + " <> ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andCatalogNameGreaterThan(String value) {
            addCriterion(IProductCatalogDAO.CatalogName + " >", value,
                "catalogName");

            return this;
        }

        public Criteria andCatalogNameGreaterThanForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.CatalogName);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCatalogNameGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.CatalogName + " > ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andCatalogNameGreaterThanOrEqualTo(String value) {
            addCriterion(IProductCatalogDAO.CatalogName + " >=", value,
                "catalogName");

            return this;
        }

        public Criteria andCatalogNameGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.CatalogName);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCatalogNameGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.CatalogName + " >= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andCatalogNameLessThan(String value) {
            addCriterion(IProductCatalogDAO.CatalogName + " <", value,
                "catalogName");

            return this;
        }

        public Criteria andCatalogNameLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.CatalogName);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCatalogNameLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.CatalogName + " < ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andCatalogNameLessThanOrEqualTo(String value) {
            addCriterion(IProductCatalogDAO.CatalogName + " <=", value,
                "catalogName");

            return this;
        }

        public Criteria andCatalogNameLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.CatalogName);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andCatalogNameLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.CatalogName + " <= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andCatalogNameLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductCatalogDAO.CatalogName + " like",
                buffer.toString(), "catalogName");

            return this;
        }

        public Criteria andCatalogNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductCatalogDAO.CatalogName + " not like",
                buffer.toString(), "catalogName");

            return this;
        }

        public Criteria andCatalogNameIn(List<String> values) {
            if (values.size() == 1) {
                return andCatalogNameEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.CatalogName + " in", values,
                    "catalogName");

                return this;
            }
        }

        public Criteria andCatalogNameNotIn(List<String> values) {
            if (values.size() == 1) {
                return andCatalogNameNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.CatalogName + " not in",
                    values, "catalogName");

                return this;
            }
        }

        public Criteria andCatalogNameIn(String[] values) {
            if (values.length == 1) {
                return andCatalogNameEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.CatalogName + " in",
                    Arrays.asList(values), "catalogName");

                return this;
            }
        }

        public Criteria andCatalogNameNotIn(String[] values) {
            if (values.length == 1) {
                return andCatalogNameNotEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.CatalogName + " not in",
                    Arrays.asList(values), "catalogName");

                return this;
            }
        }

        public Criteria andCatalogNameIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.CatalogName + " in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andCatalogNameNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.CatalogName + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andCatalogNameBetween(String value1, String value2) {
            addCriterion(IProductCatalogDAO.CatalogName + " between", value1,
                value2, "catalogName");

            return this;
        }

        public Criteria andCatalogNameNotBetween(String value1, String value2) {
            addCriterion(IProductCatalogDAO.CatalogName + " not between",
                value1, value2, "catalogName");

            return this;
        }

        public Criteria andIdIsNull() {
            addCriterion(IProductCatalogDAO.Id + " is null");

            return this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion(IProductCatalogDAO.Id + " is not null");

            return this;
        }

        public Criteria andIdIsNotEmpty() {
            addCriterion(IProductCatalogDAO.Id + " is not null AND " +
                IProductCatalogDAO.Id + " <> ''");

            return this;
        }

        public Criteria andIdIsEmpty() {
            addCriterion("(" + IProductCatalogDAO.Id + " is null OR " +
                IProductCatalogDAO.Id + " = '')");

            return this;
        }

        public Criteria andIdEqualTo(long value) {
            return andIdEqualTo(Long.valueOf(value));
        }

        public Criteria andIdEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.Id + " = ", value, "id");

            return this;
        }

        public Criteria andIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Id);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Id + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotEqualTo(long value) {
            return andIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.Id + " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToOrIsNull(long value) {
            return andIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.Id + " is null OR " +
                IProductCatalogDAO.Id + " <>", value, "id");

            return this;
        }

        public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Id);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Id + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThan(long value) {
            return andIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.Id + " >", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Id);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Id + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(long value) {
            return andIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.Id + " >=", value, "id");

            return this;
        }

        public Criteria andIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Id);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Id + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThan(long value) {
            return andIdLessThan(Long.valueOf(value));
        }

        public Criteria andIdLessThan(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.Id + " <", value, "id");

            return this;
        }

        public Criteria andIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Id);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Id + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(long value) {
            return andIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.Id + " <=", value, "id");

            return this;
        }

        public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Id);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andIdLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Id + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdIn(long[] values) {
            if (values.length == 1) {
                return andIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductCatalogDAO.Id + " in", values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductCatalogDAO.Id + " not in", values, "id");

                return this;
            }
        }

        public Criteria andIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.Id + " in", values, "id");

                return this;
            }
        }

        public Criteria andIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.Id + " not in", values, "id");

                return this;
            }
        }

        public Criteria andIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.Id + " in",
                    Arrays.asList(values), "id");

                return this;
            }
        }

        public Criteria andIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.Id + " not in",
                    Arrays.asList(values), "id");

                return this;
            }
        }

        public Criteria andIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Id + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Id + " not in ", subQueryBean, dao);

            return this;
        }

        public Criteria andIdBetween(long value1, long value2) {
            addCriterion(IProductCatalogDAO.Id + " between", value1, value2,
                "id");

            return this;
        }

        public Criteria andIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductCatalogDAO.Id + " between", value1, value2,
                "id");

            return this;
        }

        public Criteria andIdNotBetween(long value1, long value2) {
            addCriterion(IProductCatalogDAO.Id + " not between", value1,
                value2, "id");

            return this;
        }

        public Criteria andIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductCatalogDAO.Id + " not between", value1,
                value2, "id");

            return this;
        }

        public Criteria andParentIdIsNull() {
            addCriterion(IProductCatalogDAO.ParentId + " is null");

            return this;
        }

        public Criteria andParentIdIsNotNull() {
            addCriterion(IProductCatalogDAO.ParentId + " is not null");

            return this;
        }

        public Criteria andParentIdIsNotEmpty() {
            addCriterion(IProductCatalogDAO.ParentId + " is not null AND " +
                IProductCatalogDAO.ParentId + " <> ''");

            return this;
        }

        public Criteria andParentIdIsEmpty() {
            addCriterion("(" + IProductCatalogDAO.ParentId + " is null OR " +
                IProductCatalogDAO.ParentId + " = '')");

            return this;
        }

        public Criteria andParentIdEqualTo(long value) {
            return andParentIdEqualTo(Long.valueOf(value));
        }

        public Criteria andParentIdEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.ParentId + " = ", value, "parentId");

            return this;
        }

        public Criteria andParentIdEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.ParentId);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.ParentId + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdNotEqualTo(long value) {
            return andParentIdNotEqualTo(Long.valueOf(value));
        }

        public Criteria andParentIdNotEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.ParentId + " <>", value, "parentId");

            return this;
        }

        public Criteria andParentIdNotEqualToOrIsNull(long value) {
            return andParentIdNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andParentIdNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.ParentId + " is null OR " +
                IProductCatalogDAO.ParentId + " <>", value, "parentId");

            return this;
        }

        public Criteria andParentIdNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.ParentId);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.ParentId + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdGreaterThan(long value) {
            return andParentIdGreaterThan(Long.valueOf(value));
        }

        public Criteria andParentIdGreaterThan(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.ParentId + " >", value, "parentId");

            return this;
        }

        public Criteria andParentIdGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.ParentId);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.ParentId + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdGreaterThanOrEqualTo(long value) {
            return andParentIdGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andParentIdGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.ParentId + " >=", value, "parentId");

            return this;
        }

        public Criteria andParentIdGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.ParentId);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.ParentId + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdLessThan(long value) {
            return andParentIdLessThan(Long.valueOf(value));
        }

        public Criteria andParentIdLessThan(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.ParentId + " <", value, "parentId");

            return this;
        }

        public Criteria andParentIdLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.ParentId);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.ParentId + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdLessThanOrEqualTo(long value) {
            return andParentIdLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andParentIdLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.ParentId + " <=", value, "parentId");

            return this;
        }

        public Criteria andParentIdLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.ParentId);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andParentIdLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.ParentId + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdIn(long[] values) {
            if (values.length == 1) {
                return andParentIdEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductCatalogDAO.ParentId + " in", values,
                    "parentId");

                return this;
            }
        }

        public Criteria andParentIdNotIn(long[] values) {
            if (values.length == 1) {
                return andParentIdNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductCatalogDAO.ParentId + " not in", values,
                    "parentId");

                return this;
            }
        }

        public Criteria andParentIdIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andParentIdEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.ParentId + " in", values,
                    "parentId");

                return this;
            }
        }

        public Criteria andParentIdNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andParentIdNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.ParentId + " not in", values,
                    "parentId");

                return this;
            }
        }

        public Criteria andParentIdIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andParentIdEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.ParentId + " in",
                    Arrays.asList(values), "parentId");

                return this;
            }
        }

        public Criteria andParentIdNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andParentIdNotEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.ParentId + " not in",
                    Arrays.asList(values), "parentId");

                return this;
            }
        }

        public Criteria andParentIdIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.ParentId + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.ParentId + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andParentIdBetween(long value1, long value2) {
            addCriterion(IProductCatalogDAO.ParentId + " between", value1,
                value2, "parentId");

            return this;
        }

        public Criteria andParentIdBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductCatalogDAO.ParentId + " between", value1,
                value2, "parentId");

            return this;
        }

        public Criteria andParentIdNotBetween(long value1, long value2) {
            addCriterion(IProductCatalogDAO.ParentId + " not between", value1,
                value2, "parentId");

            return this;
        }

        public Criteria andParentIdNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductCatalogDAO.ParentId + " not between", value1,
                value2, "parentId");

            return this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion(IProductCatalogDAO.Remarks + " is null");

            return this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion(IProductCatalogDAO.Remarks + " is not null");

            return this;
        }

        public Criteria andRemarksIsNotEmpty() {
            addCriterion(IProductCatalogDAO.Remarks + " is not null AND " +
                IProductCatalogDAO.Remarks + " <> ''");

            return this;
        }

        public Criteria andRemarksIsEmpty() {
            addCriterion("(" + IProductCatalogDAO.Remarks + " is null OR " +
                IProductCatalogDAO.Remarks + " = '')");

            return this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion(IProductCatalogDAO.Remarks + " = ", value, "remarks");

            return this;
        }

        public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Remarks);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Remarks + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion(IProductCatalogDAO.Remarks + " <>", value, "remarks");

            return this;
        }

        public Criteria andRemarksNotEqualToOrIsNull(String value) {
            addCriterion(IProductCatalogDAO.Remarks + " is null OR " +
                IProductCatalogDAO.Remarks + " <>", value, "remarks");

            return this;
        }

        public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Remarks);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Remarks + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion(IProductCatalogDAO.Remarks + " >", value, "remarks");

            return this;
        }

        public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Remarks);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Remarks + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion(IProductCatalogDAO.Remarks + " >=", value, "remarks");

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Remarks);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Remarks + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion(IProductCatalogDAO.Remarks + " <", value, "remarks");

            return this;
        }

        public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Remarks);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Remarks + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion(IProductCatalogDAO.Remarks + " <=", value, "remarks");

            return this;
        }

        public Criteria andRemarksLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Remarks);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andRemarksLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Remarks + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductCatalogDAO.Remarks + " like",
                buffer.toString(), "remarks");

            return this;
        }

        public Criteria andRemarksNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductCatalogDAO.Remarks + " not like",
                buffer.toString(), "remarks");

            return this;
        }

        public Criteria andRemarksIn(List<String> values) {
            if (values.size() == 1) {
                return andRemarksEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.Remarks + " in", values,
                    "remarks");

                return this;
            }
        }

        public Criteria andRemarksNotIn(List<String> values) {
            if (values.size() == 1) {
                return andRemarksNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.Remarks + " not in", values,
                    "remarks");

                return this;
            }
        }

        public Criteria andRemarksIn(String[] values) {
            if (values.length == 1) {
                return andRemarksEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.Remarks + " in",
                    Arrays.asList(values), "remarks");

                return this;
            }
        }

        public Criteria andRemarksNotIn(String[] values) {
            if (values.length == 1) {
                return andRemarksNotEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.Remarks + " not in",
                    Arrays.asList(values), "remarks");

                return this;
            }
        }

        public Criteria andRemarksIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Remarks + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andRemarksNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Remarks + " not in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion(IProductCatalogDAO.Remarks + " between", value1,
                value2, "remarks");

            return this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion(IProductCatalogDAO.Remarks + " not between", value1,
                value2, "remarks");

            return this;
        }

        public Criteria andStatusIsNull() {
            addCriterion(IProductCatalogDAO.Status + " is null");

            return this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion(IProductCatalogDAO.Status + " is not null");

            return this;
        }

        public Criteria andStatusIsNotEmpty() {
            addCriterion(IProductCatalogDAO.Status + " is not null AND " +
                IProductCatalogDAO.Status + " <> ''");

            return this;
        }

        public Criteria andStatusIsEmpty() {
            addCriterion("(" + IProductCatalogDAO.Status + " is null OR " +
                IProductCatalogDAO.Status + " = '')");

            return this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion(IProductCatalogDAO.Status + " = ", value, "status");

            return this;
        }

        public Criteria andStatusEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Status);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Status + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion(IProductCatalogDAO.Status + " <>", value, "status");

            return this;
        }

        public Criteria andStatusNotEqualToOrIsNull(String value) {
            addCriterion(IProductCatalogDAO.Status + " is null OR " +
                IProductCatalogDAO.Status + " <>", value, "status");

            return this;
        }

        public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Status);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Status + " <> ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion(IProductCatalogDAO.Status + " >", value, "status");

            return this;
        }

        public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Status);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Status + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion(IProductCatalogDAO.Status + " >=", value, "status");

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Status);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Status + " >= ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion(IProductCatalogDAO.Status + " <", value, "status");

            return this;
        }

        public Criteria andStatusLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Status);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Status + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion(IProductCatalogDAO.Status + " <=", value, "status");

            return this;
        }

        public Criteria andStatusLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.Status);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andStatusLessThanOrEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Status + " <= ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductCatalogDAO.Status + " like",
                buffer.toString(), "status");

            return this;
        }

        public Criteria andStatusNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
            buffer.append(value);
            buffer.append("%");
            addCriterion(IProductCatalogDAO.Status + " not like",
                buffer.toString(), "status");

            return this;
        }

        public Criteria andStatusIn(List<String> values) {
            if (values.size() == 1) {
                return andStatusEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.Status + " in", values, "status");

                return this;
            }
        }

        public Criteria andStatusNotIn(List<String> values) {
            if (values.size() == 1) {
                return andStatusNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.Status + " not in", values,
                    "status");

                return this;
            }
        }

        public Criteria andStatusIn(String[] values) {
            if (values.length == 1) {
                return andStatusEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.Status + " in",
                    Arrays.asList(values), "status");

                return this;
            }
        }

        public Criteria andStatusNotIn(String[] values) {
            if (values.length == 1) {
                return andStatusNotEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.Status + " not in",
                    Arrays.asList(values), "status");

                return this;
            }
        }

        public Criteria andStatusIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Status + " in ", subQueryBean, dao);

            return this;
        }

        public Criteria andStatusNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.Status + " not in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion(IProductCatalogDAO.Status + " between", value1,
                value2, "status");

            return this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion(IProductCatalogDAO.Status + " not between", value1,
                value2, "status");

            return this;
        }

        public Criteria andSortIndexIsNull() {
            addCriterion(IProductCatalogDAO.SortIndex + " is null");

            return this;
        }

        public Criteria andSortIndexIsNotNull() {
            addCriterion(IProductCatalogDAO.SortIndex + " is not null");

            return this;
        }

        public Criteria andSortIndexIsNotEmpty() {
            addCriterion(IProductCatalogDAO.SortIndex + " is not null AND " +
                IProductCatalogDAO.SortIndex + " <> ''");

            return this;
        }

        public Criteria andSortIndexIsEmpty() {
            addCriterion("(" + IProductCatalogDAO.SortIndex + " is null OR " +
                IProductCatalogDAO.SortIndex + " = '')");

            return this;
        }

        public Criteria andSortIndexEqualTo(long value) {
            return andSortIndexEqualTo(Long.valueOf(value));
        }

        public Criteria andSortIndexEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.SortIndex + " = ", value,
                "sortIndex");

            return this;
        }

        public Criteria andSortIndexEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.SortIndex);
            str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.SortIndex + " = ", subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexNotEqualTo(long value) {
            return andSortIndexNotEqualTo(Long.valueOf(value));
        }

        public Criteria andSortIndexNotEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.SortIndex + " <>", value,
                "sortIndex");

            return this;
        }

        public Criteria andSortIndexNotEqualToOrIsNull(long value) {
            return andSortIndexNotEqualToOrIsNull(Long.valueOf(value));
        }

        public Criteria andSortIndexNotEqualToOrIsNull(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.SortIndex + " is null OR " +
                IProductCatalogDAO.SortIndex + " <>", value, "sortIndex");

            return this;
        }

        public Criteria andSortIndexNotEqualToForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.SortIndex);
            str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexNotEqualTo(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.SortIndex + " <> ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andSortIndexGreaterThan(long value) {
            return andSortIndexGreaterThan(Long.valueOf(value));
        }

        public Criteria andSortIndexGreaterThan(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.SortIndex + " >", value, "sortIndex");

            return this;
        }

        public Criteria andSortIndexGreaterThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.SortIndex);
            str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexGreaterThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.SortIndex + " > ", subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexGreaterThanOrEqualTo(long value) {
            return andSortIndexGreaterThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andSortIndexGreaterThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.SortIndex + " >=", value,
                "sortIndex");

            return this;
        }

        public Criteria andSortIndexGreaterThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.SortIndex);
            str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexGreaterThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.SortIndex + " >= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andSortIndexLessThan(long value) {
            return andSortIndexLessThan(Long.valueOf(value));
        }

        public Criteria andSortIndexLessThan(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.SortIndex + " <", value, "sortIndex");

            return this;
        }

        public Criteria andSortIndexLessThanForeignKey(java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.SortIndex);
            str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexLessThan(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.SortIndex + " < ", subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexLessThanOrEqualTo(long value) {
            return andSortIndexLessThanOrEqualTo(Long.valueOf(value));
        }

        public Criteria andSortIndexLessThanOrEqualTo(java.lang.Long value) {
            addCriterion(IProductCatalogDAO.SortIndex + " <=", value,
                "sortIndex");

            return this;
        }

        public Criteria andSortIndexLessThanOrEqualToForeignKey(
            java.lang.String key) {
            StringBuffer str = new StringBuffer(IProductCatalogDAO.SortIndex);
            str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());

            return this;
        }

        public Criteria andSortIndexLessThanOrEqualTo(
            BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.SortIndex + " <= ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andSortIndexIn(long[] values) {
            if (values.length == 1) {
                return andSortIndexEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductCatalogDAO.SortIndex + " in", values,
                    "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexNotIn(long[] values) {
            if (values.length == 1) {
                return andSortIndexNotEqualTo((java.lang.Long) values[0]);
            } else {
                addCriterion(IProductCatalogDAO.SortIndex + " not in", values,
                    "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andSortIndexEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.SortIndex + " in", values,
                    "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexNotIn(List<java.lang.Long> values) {
            if (values.size() == 1) {
                return andSortIndexNotEqualTo(values.get(0));
            } else {
                addCriterion(IProductCatalogDAO.SortIndex + " not in", values,
                    "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andSortIndexEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.SortIndex + " in",
                    Arrays.asList(values), "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexNotIn(java.lang.Long[] values) {
            if (values.length == 1) {
                return andSortIndexNotEqualTo(values[0]);
            } else {
                addCriterion(IProductCatalogDAO.SortIndex + " not in",
                    Arrays.asList(values), "sortIndex");

                return this;
            }
        }

        public Criteria andSortIndexIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.SortIndex + " in ", subQueryBean,
                dao);

            return this;
        }

        public Criteria andSortIndexNotIn(BaseQueryBean subQueryBean,
            IDataAccessInterface<?, ?> dao) {
            addCriterion(IProductCatalogDAO.SortIndex + " not in ",
                subQueryBean, dao);

            return this;
        }

        public Criteria andSortIndexBetween(long value1, long value2) {
            addCriterion(IProductCatalogDAO.SortIndex + " between", value1,
                value2, "sortIndex");

            return this;
        }

        public Criteria andSortIndexBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductCatalogDAO.SortIndex + " between", value1,
                value2, "sortIndex");

            return this;
        }

        public Criteria andSortIndexNotBetween(long value1, long value2) {
            addCriterion(IProductCatalogDAO.SortIndex + " not between", value1,
                value2, "sortIndex");

            return this;
        }

        public Criteria andSortIndexNotBetween(java.lang.Long value1,
            java.lang.Long value2) {
            addCriterion(IProductCatalogDAO.SortIndex + " not between", value1,
                value2, "sortIndex");

            return this;
        }
    }
}
